package com.shujia.wyh.day15;

/*
        String类的构造方法：
            public String()
            public String(byte[] bytes)
            public String(byte[] bytes,int offset,int length)
            public String(char[] value)
            public String(char[] value,int offset,int count)
            public String(String original)

 */
public class StringDemo2 {
    public static void main(String[] args) {
        //public String()初始化新创建的String对象，以使其表示空字符序列
        String s = new String();
        System.out.println(s); //通过这里的结果发现String类重写了toString()方法
        System.out.println("=======================================");
        //public String(byte[] bytes)通过使用平台的默认字符集解码指定的字节数组来构造新的String 。
        // 新的String的长度是字符集的函数，因此可能不等于字节数组的长度。
        //将字节数组转成字符串
        byte[] bytes = {'a', 'b', 'c', 'd', 'e'};
        String s1 = new String(bytes);
        System.out.println(s1);
        System.out.println("========================================");
        //public String(byte[] bytes,int index,int length)
        // 通过使用平台的默认字符集解码指定的字节子阵列来构造新的String 。
        // 新的String的长度是字符集的函数，因此可能不等于子数组的长度。
        //将字节数组的一部分转成字符串
        //从下标索引1开始截取，截取3个元素形成一个字符串
//        String s2 = new String(bytes, 1, 3);
//        System.out.println(s2);
//        String s3 = new String(bytes, 1, 10); //StringIndexOutOfBoundsException
//        System.out.println(s3);
//        String s4 = new String(bytes, 10, 2); //StringIndexOutOfBoundsException
        System.out.println("========================================");
        //public String(char[] value)分配一个新的String ，以便它表示当前包含在字符数组参数中的字符序列。
        // 字符数组的内容被复制; 字符数组的后续修改不会影响新创建的字符串。
        //将字符数组转成字符串
        char[] chars = {97,98,99,100,101};
        String s2 = new String(chars);
        System.out.println(s2);
        System.out.println("========================================");
        // public String(char[] value,int offset,int count)
        // 将字符数组的一部分转成字符串（自主完成）
        System.out.println("=========================================");
        //public String(String original)
        String s3 = new String("你好数加");
        System.out.println(s3);


    }
}
